// package com.code.coinprice.controllers;
//
// import com.alibaba.fastjson.JSON;
// import com.code.coinprice.managers.CoinPriceManager;
// import org.java_websocket.client.WebSocketClient;
// import org.java_websocket.enums.ReadyState;
// import org.slf4j.Logger;
// import org.slf4j.LoggerFactory;
// import org.springframework.beans.factory.annotation.Value;
// import org.springframework.util.StringUtils;
// import org.springframework.web.bind.annotation.GetMapping;
// import org.springframework.web.bind.annotation.RequestMapping;
// import org.springframework.web.bind.annotation.RequestParam;
// import org.springframework.web.bind.annotation.RestController;
//
// import java.util.HashMap;
// import java.util.Map;
//
// @RestController
// @RequestMapping(value = "/webSocket")
// public class WebSocketClientController {
//
//     private static final Logger log = LoggerFactory.getLogger(WebSocketClientController.class);
//
//     @Value("${webServerSocketUrl}")
//     private String webServerSocketUrl;
//
//     private CoinPriceManager javaWebSocketClient;
//
//     public WebSocketClientController(CoinPriceManager javaWebSocketClient) {
//         this.javaWebSocketClient = javaWebSocketClient;
//     }
//
//     @GetMapping(value = "sendWebSocket")
//     public void hello(@RequestParam(required = false) String sendMsg) {
//         WebSocketClient client = javaWebSocketClient.sendWebSocket(webServerSocketUrl);
//         if (client != null) {
//             // 解决org.java_websocket.exceptions.WebsocketNotConnectedException这种异常
//             // 参考： https://blog.csdn.net/down___load/article/details/107417751
//             while (!client.getReadyState().equals(ReadyState.OPEN)) {
//                 log.info("连接中···请稍后");
//             }
//             if (StringUtils.isEmpty(sendMsg)) {
//                 Map<String, String> paramMap = new HashMap<>();
//                 paramMap.put("channel", "ex_group_market");
//                 paramMap.put("event", "addChannel");
//                 paramMap.put("group", "all");
//                 sendMsg = JSON.toJSONString(paramMap);
//             }
//             client.send(sendMsg);
//         }
//     }
//
// }
